Method of presenting contents based on a common relationship

ABSTRACT

A method is disclosed for providing a requested contents and associated contents to a user of a client computer system. A provider&#39;s server receives a request from the client computer system to send a first object in an HTML page for display on the client computer system. The provider examines the requested first object and includes a related second object in the HTML page. The HTML page with both objects is then sent to the client computer system for display. In an alternative embodiment, the HTML page is sent to the user with code to receive and display one or more objects sent independently from a second server to the user based on the first content or on user action within the first content.

CROSS REFERENCE TO RELATED APPLICATION

The present application is a divisional of and claims priority of U.S.patent application Ser. No. 10/029,073, filed on Dec. 20, 2001; title “AMETHOD FOR CREATING AND MAINTAINING WORLDWIDE E-COMMERCE”; the contentof which is hereby incorporated by reference in its entirety.

BACKGROUND OF INVENTION

1. Field of the Invention

The field of this invention relates to a virtual network of e-commercee-malls, satellite e-malls, e-shops, e-distributors and web sites. Morespecifically, the present invention relates means for creating andmaintaining worldwide e-malls and each of these e-malls will offer meansfor creating e-shops, e-distributors and web sites without the need ofan e-commerce infrastructure or even a web server.

2. Prior Art

The Internet has a tremendous potential with its worldwide reach; also,there are a lot of challenges and opportunities. At the present, thereare needs for easy and affordable worldwide e-commerce solutions whereseller can have their goods and services sold without the expertise orthe expenses that today's e-commerce requires.

Today's e-commerce web sites henceforth called e-shop(s) are of adynamic type with products and/or services that are available to a broadbase of buyers. One good example of a dynamic e-shop is Amazon.com.

One other type of e-commerce setup is the e-shopping mall where dynamice-shops are created and updated directly by a user and henceforth callede-mall(s). The four most popular are: VStore.com, ViaWeb.com,Bcentral.com and BigStep.com.

Stores in these e-malls are treated as independent dynamic e-shops withspecific URL (Uniform Resource Locator) addresses and theirproducts/services are only available within their closed environment.Thus, products/services cannot be shared among other e-malls or e-shopseven within their own network of dynamic e-shops at the e-mall. ExceptVStore.com where all e-shop virtually sells products from distributors.

The dynamic e-mall setup does not enhance the shopping experience norfacilitates the interaction between buyer and seller. Since a buyer willhave to move from e-shop to e-shop in the e-mall. Time is thus wastedand sales can be lost. Furthermore, the dynamic e-mall concept cannot becreated without an elaborate and expensive e-commerce infrastructurethat requires extensive knowledge and expertise.

Currently, dynamic e-mall will not allow the creation of specializede-shops that can sell their products/services in conjunction withsimilar products/services from others e-shops.

Today's e-commerce requires solutions where seller can have theirproducts/services available to a broad base of buyers, also, virtuallyavailable to other e-shops, satellite e-malls and e-malls where theywill be offered to a broader clientele base. For this to be possible,the process for creating and updating e-malls, satellite e-malls,e-shops, e-distributors and web sites must be on-line and easy to setupand use.

Buyers on the other hand, need a solution where they will have a broadselection without having to go to many different e-shops to find whatthey're looking for, and also be able to view web pages in their ownnative language.

It is the object of this invention to offer easy and affordablee-commerce solution worldwide with a single e-commerce and e-servicesresource infrastructure as to allow anyone anywhere in the world toprovide e-commerce solution without the need of an e-commerceinfrastructure or even an Internet server.

SUMMARY OF THE INVENTION

It is the object of this invention to demonstrate a virtual electronicshopping mall where on-line users can create and update e-malls which inturn offers others the ability to host e-shops and web sites offeringproducts/services. Also, an e-mall will have means for customizing asatellite e-mall and means for hosting pre-set ones. Moreover, thisinvention will allow creating and maintaining of the dynamic e-mallconcept without the need of an e-commerce infrastructure or even theneed of a web server.

It will further have the ability to exchange interfaces uploaded by auser or allow the user to select one provided by the virtual network(the host computer with the technology infrastructure).

Also, the ability to display interfaces in more than one foreignlanguage for: e-malls, satellite e-malls, e-shops, e-distributors andweb sites. All e-malls, satellite e-malls, e-shops, e-distributors andweb sites are within a network where products and services can be sharedamong any e-mall, satellite e-malls, e-shop or web site by making themvirtual.

For instance, an e-shop can sell its products dynamically, or have othere-malls; satellite e-malls and e-shops in the virtual network sellingthem virtually. The advantage of this virtual electronic networkenvironment is to make products and services available to a broader basefor both, sellers and buyers.

The virtual electronic network environment will enhance the way peopleshop electronically. Thus, making a wider selection of products andservices available to any e-mall, satellite e-mall, e-shop and web sitewithin the virtual network. It will offer means for the creation ofspecialized e-shops, satellite e-malls, e-malls and web sites, tailoreduniquely to a specific market segment. Further, it will simplify buyers'decision by offering them a broad and specialized selection ofproducts/services.

It is also the intent of this invention to permit users to includee-commerce at web sites that are already in use. Thus, offering a newway to enhance them without the cost of providing the e-commerceinfrastructure that is required, or even having to install and maintaina web server.

It will further permit the creation of virtual web sites, other thanshopping. For instance, a web site may be virtual on-line schools,cities, etc. The use of this invention is without limits, and, as moregoods/services are offered, the more it will allow the creation of avirtual shopping and non-shopping web sites and a combination of both.

It will also integrate the world by allowing an e-shop in one country tosell in another country or to cross-sell products from a distributor ora manufacturer and having them delivered directly to the buyer, thusreducing storage, shipping and handling cost.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in the form a part ofthis specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention:

FIG. 1 illustrates a worldwide e-commerce sharing a single e-commerceresource infrastructure.

FIG. 2 illustrates the e-commerce resource infrastructure available toeach e-commerce of FIG. 1.

FIG. 3 illustrates the virtual e-shopping network system where e-malls,e-shops, e-distributors and web sites share a single resource.

FIG. 4 illustrates a communication link between a client and a servercomputer. The process of converting ASP pages into the HTML at theserver computer, then transmitting it to the client computer.

FIG. 5 illustrates the process that takes place in converting ASP pagestemplates into HTML web pages.

FIG. 6 illustrates a dynamic electronic store.

FIG. 7 illustrates a dynamic electronic shopping mall.

FIG. 8 illustrates multiple dynamic electronic shopping mall withmultiple dynamic electronic shops.

FIG. 9 illustrates how dynamic electronic shops become virtual ones inthe dynamic shopping mall.

FIG. 10 illustrates virtual electronic shopping mall with dynamic andvirtual electronic shops.

FIG. 11 illustrates multiple dynamic electronic shops with departments,category, sub-category and products in a dynamic shopping mall.

FIG. 12 illustrates how a dynamic electronic shop's departments,category, sub-category and products become virtual ones in theelectronic dynamic shopping malls and dynamic electronic stores.

FIG. 13 illustrates a dynamic database table that represents theillustration of FIG. 11.

FIG. 14 illustrates a virtual database table that represents theillustration of FIG. 12.

FIG. 15 illustrates multiple dynamic servers' setup sharing databaseobjects with the virtual server.

FIG. 16 illustrates a database table to be used to translate web pagetext objects into multiple foreign languages.

FIG. 17 illustrates a web page drop down elements.

FIG. 18 illustrates the source code for the web page drop down of FIG.17.

FIG. 19 illustrates an ASP program to be used to translate web pagedatabase text objects.

FIG. 20 illustrates a database table with products in multiple foreignlanguages.

FIG. 21 illustrates a database table with database table's object inmultiple foreign language.

FIG. 22 illustrates a client and a server computer's setup used by theserver computer to process ASP pages, and transmits its result in theHTML format to a client computer.

FIG. 23 illustrates a web page template.

FIG. 24 illustrates a web page template with include files.

FIG. 25 illustrates the process of exchanging a web page template.

FIG. 26 illustrates a web page template with include files and theirrespective folders.

FIG. 27 illustrates folders for the include files of FIG. 26.

FIG. 28 illustrates a client receiving an interface from multipleservers.

FIG. 29 illustrates a method of uploading a file with settings to thevirtual network server.

FIG. 29 a illustrates two files with settings in a folder for eachtemplate.

FIG. 30 illustrates a file with settings applied to a web page.

FIG. 31 illustrates virtual network's satellite e-malls and e-malls'satellite e-malls.

FIG. 31 a illustrates satellite e-malls receiving e-services through thevirtual network.

FIG. 31 b illustrates two satellite e-malls receiving e-services throughthe virtual network from three different sources.

FIG. 32 illustrates a web page divided in two windows, one fore-commerce and the other for e-services.

FIG. 33 illustrates the web page of FIG. 32 with e-commerce on the leftand e-services on the right.

FIG. 34 illustrates a list of products for the chosen sub-category.

FIG. 35 illustrates a method of user tracking between a web server and aweb browser.

FIG. 36 illustrates a web browser's user viewing web pages from multipleweb sites and e-shops.

FIG. 37 illustrates a method of a web server tracking user surfingexperience.

FIG. 38 illustrates a method of a web server presenting user's surf listfor review.

FIG. 39 illustrates a user reviewing web pages from his/her surf list.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention now will be described more fully hereinafter withreference to the accompanying drawings, in which preferred embodimentsof the invention are shown. This invention may, however, be embodied inmany different forms and should not be construed as limited to theembodiments set forth herein. Rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art. Likenumbers refer to like elements throughout.

As will be appreciated by one of skill in the art, the present inventionmay be embodied as a method, a virtual network, or a computer programproduct. Accordingly, the present invention may take a form of anentirely software embodiment or an embodiment combining software andhardware. Furthermore, the present invention may take the form of acomputer program product on a computer-readable storage medium havingcomputer-readable program code means embodied in the medium. Anycomputer readable medium may be utilized including hard disks, CD-ROMs,optical storage devices, or magnetic devices.

As is understood by those skilled in the art of Web client/servercommunications, a user access a server by establishing a TCP connectionbetween client and server. Client and server communicate by using HTTPprotocol over a TCP connection. Data transferred from servers to clientsare HTTP objects (e.g. HTML objects).

Furthermore, any reference to names of a product or of a company is forthe purpose of clarifying our discussion and they are registered totheir respective owners.

GLOSSARY OF USED TERMS

Before explaining this invention, let us first explain some of the termsthat will be used throughout.

ASP stands for Active Server Page and it is used to dynamically createweb pages on the server side and transmit them to a requesting client asHTML objects.

Back end means a computer system where users retrieve (content) from andview it at another computer (front end). In the case of the Internet acomputer with a web server is the back end.

Cookie is a file kept by a web browser at the end user computer wherethe server or a script program running at the web browser send requeststo the browser to save a value in the cookie file for later retrieval.It has a cookie name and the cookie's value and the date that it willexpire.

Dynamic e-shop and dynamic web site is when products (also called goods)and services are part of the hosting e-shop or web site. That is, thee-shop or web site will do all the required maintenance. Each e-shop orweb site is hosted within an e-mall.

E-services are services (also called contents) supplied to VNRI by athird party or part of VNRI. E-services are used in conjunction withVNRI's e-commerce. These e-services have means for associating with thee-commerce counterpart.

Front end means a computer system where users view information (alsocalled content and used interchangeably) that is located at anothercomputer system (back end). In the case of the Internet a computer witha web browser is the front end.

HTML stands for Hypertext Markup Language.

HTTP stands for Hypertext Transfer Protocol.

JavaScript is a commonly used language by clients and servers as well.On the client side it is used as means of interacting with HTML objects.On the server side it is used as a script language and it works inconjunction with the ASP and others technologies.

Satellite e-mall is a sub-set of an e-mall created by the virtualnetwork system or by each individual e-mall (in the case of customizedsatellite e-mall). An e-mall has the option to include or to excludeservices from a satellite e-mall.

Session Variable is a variable that the web server keeps in its memoryfor the duration of a web browser user visit to the web site or, in mostcases, 20 minutes after the user access the last page from the webserver. Any value can be assigned to a session variable. One goodexample is the use of session variables with the ASP technology.

SQL stands for Structured Query Language and it is a text string used bya database server (a specialized software to manage databases) as toguide it in querying and retrieving database objects thereof.

TCP stands for Transfer Control Protocol.

URL stands for Uniform Resource Locator and it is an Internet addressused by a web browser to fetch a web page object from a web server.

WEB SERVER is a computer with specialized software to managecommunication between a client's web browser and the server computer.Also, it communicates with others technologies that are within theserver computer.

VNRI stands for Virtual Network Resource Infrastructure (also calledvirtual server and used here interchangeably) and it is the hostingenvironment hosting all e-malls, satellite e-malls, e-shops,e-distributors and web sites dynamically and virtually. Also, it iswhere the e-commerce infrastructure is hosted (hardware, software andthe Internet gateway).

Virtual e-mall is when an e-mall place goods/services from any e-shop orweb site from the virtual network. An e-mall can have e-shops and websites, but cannot have products/services of its own (dynamically). Anyproducts offered by an e-mall are virtual ones.

Virtual e-shop or virtual web site is used when an e-shop or web siteoffers products/services from another e-shop or web site within thevirtual network. Products/services are called virtual products becausethey are available to an e-shop or web site other than the hosting one.

I) The Virtual Network

Let us further explore the virtual network. There will be many e-malls,e-shops, e-distributors and web sites in the virtual network. An e-mallmay or may not have a dynamic e-shop or web site. Also, an e-shop or website may or may not have products and/or services. An e-mall can have ane-shop or web site that is empty (without products or services). Basedon the previous situation, all products and/or services offered by anempty e-shop or web site are virtual ones.

Lets further explore the interaction that goes between a client (user)computer and the virtual network server.

A user at a client web browser initiates communication with the virtualnetwork server and register an e-mall. Other users will do the same.After an e-mall is registered it is ready to receive e-shops or websites.

Let us say that, a user registers an e-shop and call it “E-SHOP A”. Theuser of E-SHOP A then adds products to it. Other registered e-shops atthe network will place products in their e-shops as well. This processis called dynamic, since products are within each individual e-shop.

For the sake of our discussion, lets assume that, there are two e-shops:E-SHOP A and E-SHOP B. They both have products. Now the user of E-SHOP Baccesses the virtual network server, receives a page with informationabout services, products, departments, categories, sub-categories,e-shops and web sites. This user now includes, products from E-SHOP Aand a sub-category, then, sends it to the virtual network server. Thenetwork server receives and saves E-SHOP B selection (products fromE-SHOP A and a sub-category) into a virtual database table.

Now, a user accessing E-SHOP B will have products from E-SHOP A and asub-category with all of its products (virtually), also, all of E-SHOP Bproducts (dynamically).

As we've said before, a client computer communicates with a servercomputer over the Internet or Intranet by a TCP connection. Moreover, aclient sends HTTP requests to server. The server then process suchrequests and creates a web page (e.g. HTML objects), and sends it backto the client.

Furthermore, a client computer has a screen that is the means ofinterfacing with a user. It also has web browser software that runs inthe client computer memory. The web browser is the client computeruser's interface. And it presents a web page as objects (e.g. HTMLobjects) to the user. The objects can be text, audio, video, image,forms, links, etc. Also, the web browser communicates with a servercomputer.

Let's move on and discuss the Virtual Network Resource Infrastructure(henceforth called VNRI). The virtual network offers an infrastructurefor worldwide e-commerce at a single location and available to anyonewithout any e-commerce infrastructure or even a server.

This VNRI infrastructure is located at a single location and it will bethe back-end for worldwide front-ends accessing it. Also, thisinfrastructure will include software programs to manage all the VNRIassociated e-malls, satellite e-malls, e-distributors and web sites.Further, it will include Internet, e-mail, credit cards gateways and allthe necessary hardware.

The objective of this invention is to allow the creation of a pluralityof e-malls and each e-mall will use VNRI's hosting and management meansand offer e-shops, e-distributors and web site an e-commerce ande-service infrastructure (hosting and management) without having theinfrastructure of their own. Each e-mall will be able to sell itse-shops products and e-shop's products located in other e-malls. Also,an e-shop will be able to sell its products and others e-shops'products. There will be only a single infrastructure for a worldwide useand it will be within VNRI. As it is now clear, e-malls, satellitee-malls, e-distributors and web sites, all use the VNRI for e-commerceand e-services. This process will give the idea that each one has ane-commerce and/or e-service infrastructure of its own because each willoffer an end-user means for using all the available resources within theVNRI.

FIG. 1 shows e-commerce located at different parts of the world. FIG. 2shows the e-commerce infrastructure that is available to each e-commerceof FIG. 1. FIGS. 23, 24, 25, 26, 27 and 28 show the process of uploadinginterfaces to each of the e-commerce of FIG. 1. Each e-commerce of FIG.1 is able to present its solutions as if each one had its own e-commerceinfrastructure.

Back to FIG. 1. It shows a method of using a single e-commerce resourceinfrastructure at a single location and providing e-commerce solutionworldwide without each one having to replicate the e-commerce resourceinfrastructure at each location.

As it is shown, there is an e-commerce located in Brazil 102, USA 104,Mexico 106, France 108, Germany 110 and Canada 112. Although thee-commerce is spread worldwide, the e-commerce resource infrastructureis at a single location at VNRI 100.

FIG. 2 is the e-commerce infrastructure that is available to eache-commerce that was presented in FIG. 1 and it is within VNRI 100 ofFIG. 1.

There are three layers of e-commerce within VNRI—FIG. 2.E-distributors/e-manufacturers 260 (henceforth called e-distributors).E-malls 268 and satellite e-malls (pre-set satellite e-mall 271 andcustomized satellite e-mall 273).

Each will present e-commerce differently. Each e-distributors 260 has ane-commerce web site and will be able to sell its products directly(e-shop A 262) or have other e-shops (e-shop B 281—arrow line 282) ande-malls (e-mall 268—arrow line 266) selling them virtually. In eithercase, end user/shoppers (henceforth called end user) will be able toview each one independently. End user A 278 views e-shop A 262 ande-shop B 281.

E-malls, on the other hand, have the means to allow the creation ofe-commerce e-shops or use the services of agents. Each e-shop will beable to sell its products directly or have them sold by the e-mall andits affiliated satellite e-malls. E-mall 268 has e-shop B 281 (arrowline 265). As shown, e-shop B 281 has end user A 278 viewing itsproducts and also end user B 276 is viewing them through e-mall 268,pre-set satellite e-mall 271 and customized satellite e-mall 273.

As presented, all products of an e-shop can be sold by the e-shop, bythe e-mall where e-shop is dynamically located and by the e-mall'saffiliated satellite e-malls. E-mall 268 has e-shop B 281 (arrow line265). E-mall 268 sells e-shop B 281 products (arrow line 267). E-mall268 makes all of its e-shops products available to each of itsaffiliated satellite e-malls. As shown, e-mall 268 has a pre-setsatellite e-mall 271 and a customized satellite e-mall 273. And each onesells products from e-shop B 281 (arrow line 279).

Also, an e-mall will have the means as to allow the use of agents'services. An e-mall can have one or more agents and each agent will beable to offer their expertise to e-shops in a one-to-one basis. Ane-shop can be created directly to an e-mall or by an agent, also, anagent can manage e-shops, e-distributors and web sites for one or moree-malls. E-mall 268 has agent 286 and it is the creator (arrow line 288)of e-shop B 281. For sake of simplicity e-shop B 281 has e-mall 268point to it (arrow line 265) and Agent 286 (arrow 288). In this case itmeans that Agent 286 created e-shop B 281 (arrow 288) by using thee-mall 268 as the holder of e-shop B 281 (arrow 265).

Before proceeding any further, lets explaining what an agent is. Anagent is a person authorized to provide management services to thee-mall's e-shops. Also, an agent has log in and management rights to login and manage e-shops for any e-mall in the virtual network resourceinfrastructure. An e-shop can be created and managed by its owner orhave an agent to represent the e-shops within the e-mall.

FIG. 3 shows a virtual e-commerce environment where e-malls (302, 303,304, and 305) with e-shops share the virtual network resources 301(e-commerce infrastructure: hardware, software and the Internetgateway). It further shows the ability for one e-shops to cross-sellother e-shops' products virtually (306, 307, 308 and 309).

As it will be understood by those skilled in the art. The virtualnetwork resources will have all the required software and hardware thatis needed to host e-malls, satellite e-malls, e-shops, e-distributorsand web sites over the Internet or over a computer network.

As it can be seen at FIG. 3, an e-mall will be able to host e-shops asif they had their own e-commerce. And since the system offers means foruser plug in interfaces and the availability of different foreignlanguages, anyone anywhere in the world will be able to offer e-commerceservices without the expenses involved.

FIG. 4 shows a communication method between a client computer and aserver computer. It should be understood that, not all parts of theclient and server computers are shown in the drawing. It is done as isfor sake of simplicity, and it is not intended to hide or obscure thisinvention. Furthermore, those skilled in the art will be able to followthe embodiments and fully understand its meanings.

For example, a memory is present at the client computer, since, this iswhere the web browser software resides and is executed. The same is truefor the screen. Where the web browser presents web objects in a visualform for the user. Neither a means for saving information like a diskunit nor a means for entering data such as a keyboard or a mouse areshown. On the server side, a memory (where Web Server and ASP server areresident) and a storage unit (where the Database, ASP Programs and WebPage Template are stored) are shown. It can also have a screen, mouse,keyboard, etc.

Back to FIG. 4. Client computer 410 establishes a communication link 420with a server computer 440. The client computer 410 represents thecomputer with a web browser where an end user views web sites. Servercomputer 440 is the VNRI hosting the e-commerce.

A user at client computer 410 enters requests through the user interface411 (web browser). These requests are processed at the web browser 412that is resident in the client computer memory. For instance, if a linkto another page is selected by the end user. The web browser 412 willestablish a communication link 420 with server computer 440 and transmita request for the new web page. Server computer 440 receives the requestthrough the communication link 420 and passes it to the resident webserver software 430.

After the server computer 440 receives the request for a new web page,let's say that, the requested web page is an ASP page. The web server430 connects with the ASP server 431. It in turns reads the web pagetemplate 436 and ASP programs 437. Next, the ASP server 431 will includethe ASP programs 437 into the web page template 436, thus, forming asingle file and executes it. There are cases that as the file isexecuted, the ASP program will need data from a database. In such cases,the ASP server 431 establishes a link 432 with the database 433 thenreads/writes to it, as needed.

After a line of programming code of the ASP program 437 is executed, itsresult (if any) is inserted into the web page template 436, thus,creating a final web page (more of it later). After all lines of the ASPprogram 437 are executed, the ASP server 431 will pass the final webpage to the web server 430. The web server 430 establishes acommunication link 420 with client computer 410 and transmits the webpage to the web browser 412. And the new web page is displayed on theuser interface (screen) 411. Thus finalizing the communication processbetween a client and a web server computer.

FIG. 5 further explains the ASP process. ASP template 551 receives ASPprograms A, B, C and D 552 (usually, they are include files). Next, aweb page 550 in the HTML format is created. It is now clear to thoseskilled in art how the communication process between a client computerand a server computer happens. Also, the process of creating web pagesat the server computer with the use of ASP technology.

Since the object of this invention is to present the process of creatingworldwide virtual e-malls and each one offering e-commerce to e-shops,e-distributors and web sites, lets first explain the dynamic processinvolved with e-shops and e-malls. Next, the process that is involvedwith virtual e-malls and e-shops will be presented as well.

FIG. 6 shows a dynamic e-shop with departments. Each department having acategory, a category having a sub-category, and the sub-category havingproducts. It should be noted that, a department can have one or morecategories, a category can have one or more sub-categories, and asub-category can have one or more products. FIG. 7 shows a dynamicE-MALL 760 with three e-shops: E-SHOP A 761, E-SHOP B 762 and E-SHOP C763. A dynamic e-mall is the host for one or more dynamic e-shops (FIG.6).

Now that we know the dynamic process, let's move on and explore ourvirtual network concept. FIG. 7 shows an e-mall 760 with three e-shops:E-shop A 761, E-shop B 762 and E-shop C 763. FIG. 1 shows the VNRI withe-commerce worldwide. Each e-commerce at FIG. 1 will have the samee-commerce infrastructure that is available to the e-mall of FIG. 7. Itis like we're taking a dynamic e-mall of FIG. 7 with dynamic e-shop ofFIG. 6 and offering means for their replication worldwide. Also, eachone will have the complete e-commerce infrastructure that is availableat the VNRI (FIG. 2).

Furthermore, the VNRI has hosting and management means for hosting andmanaging various e-malls and each e-mall will use the VNRI hosting andmanagement means for hosting and managing e-shops, e-distributors andweb sites. The VNRI has the means for allowing the offering ofe-commerce solution to e-malls, satellite e-malls, e-shops,e-distributors and web sites.

FIG. 8 is an overview of a virtual e-mall where four e-malls coexist andeach having their dynamic e-shops. As we further explore it, we'll seethat each e-shop is able to share its products with others e-shops ande-malls in the virtual network. Each e-mall has three dynamic e-shops.E-MALL A 800 has E-SHOP A-1 806, E-SHOP A-2 805 and E-SHOP A-3 804.E-MALL B 801 has E-SHOP B-1 815, E-SHOP B-2 814 and E-SHOP B-3 813.E-MALL C 803 has E-SHOP C-1 812, E-SHOP C-2 811 and E-SHOP C-3 810.E-MALL D 802 has E-SHOP D-1 807, E-SHOP D-2 808 and E-SHOP D-3 809.

FIG. 9 is a further embodiment of FIG. 8. It shows how to create avirtual e-shop. Dynamic e-shops are made virtual once they are placed atothers e-malls or e-shops within the VNRI. For instance, dynamic E-SHOPA-1 806 is now virtual 825 at E-MALL D 802. Dynamic E-SHOP A-3 804 isnow virtual 820 at E-MALL B 801. Dynamic E-SHOP B-3 813 is now virtual821 at E-MALL C 803. Dynamic E-SHOP D-2 808 is now virtual 823 at E-MALLC 803, and also, virtual 824 at E-MALL A 800. Finally, dynamic E-SHOPD-3 809 is virtual 822 at E-MALL C 803.

FIG. 10 is a further embodiment of FIG. 9 with virtual e-shops included.As it is shown, E-SHOP A-1 is dynamic 806 at E-MALL A 800 and it isvirtual 825 at E-MALL D 802. E-SHOP A-3 is dynamic 804 at E-MALL A 800and it is virtual 820 at E-MALL B 801. E-SHOP B-3 is dynamic 813 atE-MALL B 801 and it is virtual 821 at E-MALL C 803. E-SHOP D-3 isdynamic 809 at E-Mall D 802 and it is virtual 822 at E-MALL C 803.E-SHOP D-2 is dynamic 808 at E-MALL D 802 and it is virtual 823 atE-MALL C 803, and also, virtual 824 at E-MALL A 800.

Further, a dynamic e-shop becomes a virtual one by its products beingshared by others e-shops in the virtual network. Let's further explainit. If a buyer is accessing E-MALL A 800, he/she will have all dynamice-shops (E-SHOP A-1 806, E-SHOP A-2 805 and E-SHOP A-3 804) and thevirtual E-SHOP D-2 824 as well. E-MALL D 802, which has E-SHOP A-1 825now available as a virtual one, and it is dynamic 806 at E-MALL A 800.E-MALL C 803 has E-SHOP D-2 823 and E-SHOP B-3 821 as virtual, andfinally, E-MALL B 801 has E-SHOP A-3 820.

FIG. 11 Shows dynamic departments, categories, sub-categories andproducts within individual e-shops, as we will see, they will alsobecome virtual ones, like we've seen with the e-shops. Department,category, sub-category and products are dynamic at E-SHOP A-2 1105 atE-MALL A 1100. The same is true with E-SHOP C-2 1111 at E-MALL C 1103.E-SHOP B-1 1115 and E-SHOP B-3 1113 both are dynamic at E-MALL B 1101.

For sake of simplicity, only one department with one category and onesub-category are shown. It should be noted that, more than onedepartment can exist at an e-shop; a department can have one or morecategories, and a category can have one or more sub-categories.

FIG. 12 is a further embodiment of FIG. 11. It shows dynamicdepartments, categories, sub-categories, products and e-shops becomingvirtual ones. As it is shown, E-SHOP A-2's 1105 (Department A-2 1140,Category A-2 1141 and Sub-category A-2 1142) are now virtual 1150 atE-MALL C 1103. E-SHOP C-2's 1111 (Product C-2-1 1160, Product C-2-2 1161and Product C-2-3 1162) are now virtual 1151 at E-MALL A 1100. E-SHOPA-2 1105 is virtual 1153 at E-MALL B 1101. E-SHOP B-3 1113 is virtual1152 at E-MALL C 1103 and E-SHOP B-1 1115 is virtual 1154 at E-SHOP B-31113. As it can be seen, dynamic e-malls and e-shops can have anycombination of e-shops, departments, category, sub-category and productsvirtually.

Before we continue with our discussion, lets first review the dynamicdatabase table of FIG. 13 and virtual database table of FIG. 14. Thedynamic database table of FIG. 13 holds all data information about alle-malls e-shops and web sites. Virtual database table of FIG. 14 is thedatabase table that represents the virtual part of the virtual network.

FIG. 13 shows a database table for a dynamic configuration of FIG. 11.Lets go back to FIG. 11 and explain E-SHOP A-2 1105. As it is shown,Department A-2 1140, Category A-2 1141, Sub-category A-2 1142, ProductA-2-1 1143, Product A-2-2 1144 and Product A-2-3 1145 are within E-SHOPA-2 1105 located at E-MALL A 1100. The first three rows (rows 1,2 and 3of the ID column) of the dynamic database table of FIG. 13 shows, E-ShopA-2 at the column Shop_Name it represents the E-SHOP A-2 1105 (FIG. 11).Department A-2 at the column Department it represents Department A-21140 (FIG. 11). E-Mall A at the column Mall_Name it represents E-MALL A1100 (FIG. 11). Category A-2 at the column Category it representsCategory A-2 1141 (FIG. 11). Sub-category A-2 at the column Sub-categoryit represents Sub-category A-2 1142 (FIG. 11). Product A-2-1, ProductA-2-2 and Product A-2-3 at the column Product_ID they represent ProductA-2-1 1143, Product A-2-2 1144 and Product A-2-3 1145 (FIG. 11). Anyoneskilled in the art will be able to follow the remaining rows of thetable of FIG. 13 and the diagram of FIG. 11.

FIG. 14 shows a database table for the virtual part of FIG. 12. And aswe've done with FIG. 13, we'll explain the first three rows (rows 1,2and 3 of the ID column). The column Virtual_Mall represents the e-mallthat virtually receives products/services from other e-shops. E-MALL Aat the column Virtual_Mall represents E-MALL A 1100 (FIG. 12). The valueProduct at the column Type of FIG. 14 says that they are virtualproducts 1151 (FIG. 12). And finally, the names of the virtual productsat the column Virtual_Type_Name (Product C-2-1, Product C-2-2 andProduct C-2-3) represent products (Product C-2-11160, Product C-2-2 1161and Product C-2-3 1162—FIG. 12). Also, Department, Category Sub-categoryand Shop at the column Type of FIG. 14 indicate their respective dynamictypes of FIG. 12.

It should be noted that, dynamic database table of FIG. 13 and virtualdatabase table of FIG. 14 can be related, although not shown. Also,anyone skilled in the art will be able to use both tables and formulateSQL's text string to create queries that will reflect a single resultanttable. A combination of SQL text string that represents dynamic table(FIG. 13) and retrieved database objects from the virtual table (FIG.12) will be used to form a single SQL text string to query the dynamicdatabase table (FIG. 13) and, retrieve a single database table.

Let's go back to FIG. 12 and use E-MALL B 1101 for our next example.E-MALL B 1101 has E-SHOP B-1 1115 and E-SHOP B-3 1113 (dynamic e-shops).It also has E-SHOP A-2 1105 as a virtual e-shop 1153. Now we need tocreate a single database table from the above example. Two searches areneeded. One at the dynamic table (FIG. 13) and another at the virtualtable (FIG. 14). At the dynamic table of FIG. 13, a search at the columnMall_Name will be conducted and all e-shops for E-MALL B will beretrieved (rows 4 through 9 of the ID column). Next, at the virtualtable of FIG. 14 a search at the column Virtual_Mall is also conductedand it will search for E-MALL B (it is the e-mall that has the virtualE-SHOP A-2 and it is located at Virtual_Type_Name—row # 4 of the IDcolumn). Next, E-SHOP A-2 will be retrieved from the columnVirtual_Type_Name. The first part of the query retrieves the dynamicpart and the second one retrieves the virtual part. Following is a SQLquery to do just that.

SELECT * FROM DynamicTable WHERE Mall_Name=‘E-MALL B’ OR Shop_Name IN(SELECT Virtual_Type_Name FROM VirtalTable WHERE Virtual_Mall=‘E-MALLB’)

First, we'll retrieve all database objects for E-MALL B from the dynamictable of FIG. 13 (rows 4 through 9 of the ID column). Second, we'llretrieve all database objects for the virtual part, which is E-SHOP A-2(rows 1,2, and 3 of the ID column of FIG. 13).

So far, we have explained a virtual e-mall where a single databaseexists for all dynamic e-malls, e-shops, e-distributors and web sites,also, only one database table for the virtual ones. This is just onearrangement, and as we'll see. The dynamic database table can be locatedat different servers in a network or over the Internet, or a combinationof both.

FIG. 15 shows four servers and each having a database table. Forsimplicity, we are showing only the table's ID and they represent thetable's ID of FIG. 13 (for dynamic servers) and the table's ID of FIG.14 (for the virtual server). For example, SERVER A 1510 hosts EMALL A1512. The IDs for the ID column 1512 are 1,2 and 3 (ID column of FIG.13). Next, the e-mall name at the column Mall_Name is “E-Mall A” forrows 1,2 and 3 (ID column of FIG. 13). FIG. 15 shows a virtual server1500 with a virtual table 1502 (ID column of FIG. 14). VIRTUAL SERVER1500 sends request and receives data 1511 from dynamic SERVER A 1510which hosts E-MALL A 1512; sends request and receives data 1521 fromSERVER B 1520 which hosts E-MALL B 1522, and sends request and receivesdata 1531 from SERVER C 1530 which hosts E-MALL C 1532.

Requests are sent and data received from different servers in thenetwork or over the Internet. And they are requests for database objects(table rows) from each server. Once they're received, they are combinedand a single dynamic table is formed, then it is related with thevirtual table 1502 (ID column) at virtual server 1500. Finally, theresult is presented as a single database table to a user. It should benoted that a single virtual database table 1502 (ID column) is shown atvirtual server 1500, but it can be more than one table at a singleserver, or it can be, more than one database tables at multiple servers.Also, virtual server 1500 can have a dynamic database table as well,although not shown.

Also, any of the dynamic servers can offer services and make themavailable to the virtual server. For instance, if SERVER A 1510 wereoffering services instead. Services form SERVER A 1510 will be availableto VIRTUAL SERVER 1500 and to all its e-malls, satellite e-malls,e-distributors, e-shops and web site. VIRTUAL SERVER 1500 will make allthe interfacing with end-users and then pass any user's enteredinformation to SERVER A 1510 and also save at its database as required.

We've described a virtual network system where a resource infrastructureexist (VNRI) and it is offered to third parties (e-mall) and this thirdparties offer this infrastructure to others (e-mall,e-distributors/manufacturers). It is the intent of this invention toallow this same method to be used as virtual solutions where a singleinfrastructure exists and it is used by more than one business and eachbusiness will in turn uses it and offer solutions to its clients. Forexample, a manufacturer uses VNRI and offer solutions to its supplier.The manufacturer is like an e-mall and its suppliers are like e-shops.In other words, the process involves three levels: first level is VNRI;second level is an e-mall and the third level is an e-shop. So, VNRI(first level) offers its solution to various locations (second level)and each location (second level) offers VNRI solution (first level) toat least one other location (third level). Also, instead of e-malls, itcan be companies with e-portals, also instead of e-hops it cane-services from a company's departments.

II) On-Line Interface Translation Method

As it has been explained, each web page has objects. They can be audio,video, images, links, forms, text, etc. We'll be discussing text objectin particular. As we know, the virtual e-mall will be used worldwide.Furthermore, it must be able to display text objects in the user's ownnative language. Also, it should have means of translating databaseobjects (products/services), and also, e-shops and e-malls interfaces(text objects).

First, let's explore the on-line page interface translation (textobjects); second, the translation of products/services (databaseobjects), and lastly, we'll show how they will enhance the user'svirtual shopping experience.

The following are the steps for on-line interface translation: a user ata client selects a drop down or any other means for selecting a foreignlanguage and the client sends this request to a server. A program in theserver receives the user selected foreign language as encodedinformation and it represents the user selected foreign language. Theprogram in the server has a function to translate text objects and italso has program code means for translating database text objects.

Let's first explore the text object translation. The functiontranslating text objects receives two parameters: one is the encodedinformation (the user selected foreign language) and the other parameteris a code reference. The code reference is used to search a databasetable and retrieve a row with text objects in different foreignlanguages in each of its columns. The encoded information is used forretrieving a column which is a reference to the database table's rowthat was received in the previous step and it contains text object is inthe user selected foreign language.

Now let's explore the translation of database text objects. The encodedinformation (selected foreign language) is combined with a SQL textstring and it is a query expression. Once a program in the servercomputer executes the query expression, the query's result will onlyinclude database text object in the user selected foreign language.

We'll be using ASP (Active Server Page) technology along with JavaScriptlanguage for our explanation, since, they are frequently used on theInternet. FIG. 16 shows a table (languagetable) with four columns: ID,Phrase_Code, ENG and POR. FIG. 17 shows two parts of a drop down formobject and, FIG. 18 the actual HTML code for the drop down form objectof FIG. 17.

Let's explore the drop down form object (FIG. 17). It has two parts: theelement that is hidden from the user and, the element used by a user tochange its state (make a selection). The table of FIG. 17 has twocolumns: the first column (Hidden Elements), represents the hidden partthat the browser uses to send a representation of the user selection toserver; the second column (drop down choices), shows the drop downchoices used by the user to make a selection. FIG. 18 is the HTML codethat creates the drop down of FIG. 17.

Back to FIG. 18. The line “<form name=changelanguageaction=newlanguage.asp>” (line # 2) indicates the start of a form objectand “</form>” (line # 7) the end of it. The value at the action elementof the form tag is “newlanguage.asp” (line # 2). It will be the pagethat the web browser will request from the server once the formchangelangue is submitted and pass its object (form objects) to it aswell. The line “<select name=language on Change=‘changeLanguage( )’>”(line # 3) indicates the start of a drop down object and “</select>”(line # 6) the end of it. The following two lines are the drop downoptions. The line “<option value=ENG>English</option>” (line # 4) is thefirst option and “<option value=POR>Portuguese</option>” (line # 5) isthe second option. And they are the choices “English” and “Portuguese”of the drop down displayed on the web browser.

Let's say that the drop down currently has the option English, as theselected one. Next, a user changes it to Portuguese. Three things willhappen: first, the browser will transfer control to functionchangeLanguage( ); (line # 10) second, the function will submit the formto server documentchangelanguage.submit( ) (line # 12)—it is the valueat the action of the form changelanguage “<form name=changelanguageaction=newlanguage.asp>” (line # 2); and third, the server will retrievenewlanguage.asp (FIG. 19) and pass POR as a parameter to it—PORrepresents the user's selection.

FIG. 19 shows the newlanguage.asp (ASP page at the virtual server) witha JavaScript program. It is divided into two parts: from beginning ofthe file (line # 1) up to line # 27 is the ASP program executed by theserver. Next, code from the <HTML> (line # 28) tag all the way to theend of the file (line # 45) is the portion sent back to the user's webbrowser (HTML objects). Also, codes after the <HTML> tag that aresurrounded by “<%” and “%>” are pieces of ASP code (it usually returns avalue and it is inserted into the HTML page.

Let's delve into newlanguage.asp file FIG. 19. The first line “varLanguage=Request.Form(“language”)” (line # 1) requests the drop downuser's selection. It was passed to the server by the client computer(web browser). Now, the variable sLanguage has the string value “POR”(the user selected language).

Next, we have a function called“doTranslate(sPhraseCode,sChosenLanguage)” (line # 3). It has twoparameters: sPhraseCode and sChosenLanguage. The first parameter,sPhraseCode receives a code reference value to be used to search thecolumn Phrase_Code of the languageTable (FIG. 16). The second parameter,sChosenLanguage will be an encoded information and it is the user'sselected language (the value “POR” at the variable sLanguage). Now thefunction doTranslate( ) will open connections (database and record set)then perform a query at the languangeTable (FIG. 16). Next, it retrievesa value from column POR—the user's selected language stored at thevariable sLanguage. In our example the value at the Query variable is“SELECT POR FROM languageTable WHERE Phrase_Code=ENGL” (line # 16 andline # 17). The last line is return(languageRS(sChosenLanguage)) (line #20) and it returns the retrieved value from the data table.

The next set of code of FIG. 19 is a partial HTML code within the ASPpage. It includes the actual drop down and the ASP code (between “<%”and “%>”—line # 32 and line # 35) inserts the function doTranslate( )returned value into the HTML page. There are two lines withResponse.Write( )'s. The first one “<%Response.Write(doTranslate(“ENGL”, sLanguage)) %>” (line # 32) willtranslate element for the drop down that says “Inglês”, and the secondone “<% Response.Write(doTranslate(“PORT”, sLanguage)) %>” (line # 35)will say “Português”. The new drop down is in Portuguese, which is theselected language.

Let's explore the previous explanation. Lets take the first drop downelement “<% Response.Write(doTranslate(“ENGL”, sLanguage)) %>” (line #32). The function doTranslate( ) receives two parameters: sPhraseCodeand sChosenLanguage. SphraseCode receives the value “ENGL” andsChosenLanguage receives the value “POR” (user's selected language).Function doTranslate( ) searches the column Phrase_Code of thelanguageTable (FIG. 16) for the value “ENGL” (row # 7 of the ID column),then, retrieves the value at the column POR (user selected language) andit is “Inglês”.

The function doTranslate( ) is very basic. Other means will be used forretrieving information instead of opening and closing databases andrecord sets. It was presented as is for simplicity.

Now that we know how text objects of the interface gets translated,we'll go one step further and translate the actual database objects andsee how they relate to the virtual e-malls, satellite e-malls, e-shops,e-distributors and web sites.

FIG. 20 shows a database table with two rows and four columns: ID,Product_ID, Language and Product_Title. The ID column holds the tableID's for each row. The Product_ID column holds the ID for each product.The Language column, holds the language code for each product in thetable. The Product_Title column holds the title for each product in thelanguage specified by the language code at the column Language. Thefirst row (row # 1 of the ID column) is in Portuguese (the value at theLanguage column is “POR” for Portuguese) and the second row (row # 2 ofthe ID column) is in English (the value at the Language column is “ENG”for English).

Now lets say that, a user views an e-shop and selects a language otherthan the one currently displayed by the web browser on the client'scomputer screen. The new screen will show a drop down with the newlanguage, and also, all the web page text objects translatedaccordingly. This process is called web page text object translation.

Let's now explain how to translate the database objects that aredisplayed on the page (e.g. product's title, description, etc.). Once anew language is selected, all the database objects at the new web pagemust be in the new language. And because of this, the new query willalso be affected. Some products/services might be in a different foreignlanguage other than the selected one. As we can see, the number ofavailable products/services will also change.

FIG. 21 shows a dynamic table (DynamicTable2) and it is the same tableof FIG. 13 except, we've deleted one column Product_ID, and added twonew ones: Product_Title and Language. Following, we have the SQL fromour previous example. Let's include the user's selected language in it.

SELECT * FROM DynamicTable2 WHERE Language=‘POR’ AND ( Mall_Name=‘E-MALLB’ OR Shop_Name IN (SELECT Virtual_Type_Name FROM VirutalTable WHEREVirtual_Mall=‘E-MALL B’) )

As we see, the query's result will only retrieve rows 1, 4 and 7 of theID column (FIG. 21). In our previous SQL example without the use of theuser selected language, rows 1 though 9 of the ID column of FIG. 13 wereretrieved.

As it can be seen, the user's selected language affects the virtuale-malls, satellite e-malls, e-shops, e-distributors and web sites bychanging the number of available good/services. For example, there areeight products in English (rows 2,3,5,6,8,9,11 and 12 of the ID column)and four in Portuguese (rows 1,4,7 and 10 of the ID column).

III) Template Uploading Method

There are two ways that a front-end can be interfaced with VNRI's backend: first by selecting a pre-set interface that is within VNRI, second,by a user uploading a customized one. In either case, the interface isthe front-end means for accessing the VNRI e-commerce back-end means.

In the case of a user-uploaded interface, it will have means for guidinga server in the inserting of program code and other pieces ofinformation as well (include files). After the uploaded interface isreceived and processed by the server a new web sited is created and aswe've said before, it is the front-end means for a client accessing theserver back-end means.

Customized user interface will allow a user at any time to change thefront-end look without programming knowledge or knowledge of the serverback-end structure. Also, a customized user interface will allow theinclusion of e-commerce in a web site without the expense or expertisethat an e-commerce infrastructure requires.

For example, a customized interface is the same one that is in use by aweb site. This new customized interface is now uploaded to a server withmeans for processing and creating a new interface. Now, a client is ableto fetch both and present an interface with similar appearance to auser. The web site will present its services in the same way as it haddone before and the server where the customized interface is locatedwill present the e-commerce part, thus allowing, a web site withoute-commerce means to include e-commerce easily and affordably.

We already know that, a client computer communicates with a servercomputer over a TCP Internet connection. A client sends requests toserver then the server sends objects in the HTML format back to client.These objects are then displayed in the client computer as web pages.FIG. 22 shows this setup. Client 2230 sends request 2231 to server 2232than server 2232 retrieves an ASP page and include files (files to beincluded into the ASP page) as needed 2233. Server 2232 then sends thepage back to client 2230 as HTML page 2234.

A true virtual e-mall, satellite e-mall, e-shop or web site will alsoneed means for the user to change its interface without having to accessthe server computer which hosts them. FIG. 23 shows an ASP pagetemplate. The first part 2370 creates variables and opens databaseconnection. After a connections is opened, indexes representing links toproducts/services at the e-mall, e-shop or web site is created 2372.After a link is selected, a new page with the products/serviceinformation 2371 (e.g. title, description, image, etc.) is received.Finally, before leaving the page, opened connection is released to freeresources that are no longer needed 2373.

As it was shown at FIG. 22. An ASP page has include files 2233 and, itcan be a program in any acceptable ASP language. First, these includefiles are inserted into the ASP page, then the server executes them.Their results will in turn be inserted into the new created file. Thisnew file will then be transmitted to the requesting computer (client) inthe HTML format 2234.

FIG. 24 shows the same template from FIG. 23 with include file tagsinserted into it. Before.inc 2480 is where database connection, recordset and variables are created. Indexes.inc 2482 create web page linksand they will be used to select a new a web page—main_page.inc 2481. Atthe end of the page, all page's objects are released—after.inc 2483.

So, a HTML page can be created from an ASP template by having includefiles inserted into it. And once we have a standard ASP templatesformat, we can exchange them in and out without affecting include files.All we need to do is: create a new template with a new look; insert theinclude files tags, next, a new web page is created based on the sameset of include files. Changes can also be made directly to an includefile without affecting the remaining ASP page.

Since we are creating virtual e-malls, e-shops, e-distributors and websites, users will need means for exchanging interfaces without havingphysical access to the virtual server. It can be a user suppliedinterface or one supplied by the virtual server.

FIG. 25 shows how to replace an interface. The top part 2590 is the oldinterface and the bottom part 2591 is the new one. Users can upload anew interface template, or chose one from the virtual server 2592. Thenew interface 2591 will then replace 2593 the old interface 2590.

All interfaces reside in folders within the virtual server. Let'sexplain what a folder is before proceeding any further. A Folder is acontainer of files or other folders. A good example is a file cabinet. Afile cabinet has drawers—they are like folders; files within a drawerare like files within a folder.

FIG. 26 shows two ASP templates. The first one ShopCart.asp 2600, has afolder's path added to each include file “<!—#includefile=“ShopCart/before.inc”—>”; the second template ShopPage.asp 2601,has a different path in the include file “<!—#includefile=“ShopPage/before.inc”—>”. The folder's path as part of the includefiles tells the server where include files are located. For example,“<!—#include file=“ShopPage/before.inc”—>” tells the server thatbefore.inc is located in the folder ShopPage.

FIG. 27 shows the folder structure for FIG. 26. It has three folders:ShopCart 2702, stores all include files for template ShopCart.asp 2600(FIG. 26); ShopPage 2703 stores all include files for templateShopPage.asp 2601 (FIG. 26), and Templates 2704 stores ASP templateShopCart.asp 2600 and ShopPage.asp 2601 (FIG. 26).

Let's delve into folder Templates 2704. As we see, the file ShopCart.asp2705 is the same template 2600 (FIG. 26) and the file ShopPage.asp 2706is the same template 2601 (FIG. 26). Once a new template is uploadedwith its respective include files and include file's path into theTemplate folder 2704, a new interface will then be in place for ane-mall, e-satellite e-mall, e-shop or web site.

Furthermore, a single ASP template can be uploaded and have a program inthe server to create others with the correct path in each one of them.We've shown a very simple folders structure with only three folders, inreality, a folder structured can have any number of folders, and afolder can have any number of files. Also, we've named the folder asROOT 2707 (FIG. 27), although it can be any name. It could've been aname for an e-mall, satellite e-mall, e-shop or web site as well.

FIG. 28 shows a setup where a client computer with a web browser 2813receives templates from Virtual Server 2815 and Host Server 2814. HostServer 2814 establishes a communication link 2810 with Virtual Server2815 and uploads a set of templates 2820-a. When the web site is firstaccessed. Client 2813 requests and receives a new interface 2820-a fromHost Server 2814 through connection 2811. Once a user selects any linkthat refers to the virtual shopping environment, or to virtual web pages(located at Virtual Server 2815). Client 2813 then requests and receivesthe next set of interfaces 2820-b (web pages) from Virtual Server 2815through connection 2812. From this point on, Virtual Server 2815 willsupply the new interface 2820-b and it will have the same look as theinterface 2820-a located at the host computer 2814. The user at theClient Computer 2813 will only notice one interface 2820-c, displayed onthe computer's screen, although, it is coming from two different serversor two different URL's.

As presented, templates can be uploaded to the virtual server and beused by an e-mall, satellite e-mall, e-shop or web site for the purposedof presenting a single interface to a user at a single web browserlocation, although it may be fetched from multiple locations.

IV) File with Settings Uploading Method

A user uploaded file with settings contain parameters that areassociated with a variable name or any other means for allowing itsprocessing and the extraction of its parameters. For example, the filewith settings may have the following: “background_color=ffffff”, in thiscase, once the parameter ‘ffffff’ is extracted from the file withsettings, the program will know that it represent a value to be used toset the web site or a web page's background color to white.

Now we'll discuss the uploading of file with settings that goes alongwith an interface. Its purpose it to allow an interface to have morethan one appearance. It may have different background colors, differenttext colors, different text sizes, different table formats, etc.

FIG. 29 shows a file with settings 2900 being uploaded to a server withtemplates 2902 and at the server it is read and its contents included ina template 2904.

FIG. 29 a shows the same file structure of FIG. 27 except two more filesare present at templates folder 2984: ShopPage.stg 2980 (file withsettings for template ShopPage.asp) and ShopCart.stg 2982 (file withsettings for template ShopCart.asp).

FIG. 30 shows a file with settings and its settings being used by atemplate file (ShopPage.asp) 3041. It has Page_Background=#ffffff 3040it is the color white for the template's background (web page) and it isrepresented in the <BODY> tag as BGCOLOR=“#ffffff” 3052. Also,Page_Font_Color=#000000 3042 is TEXT=“#0000000” 3054 (default blackcolor for all text in the web page). The Page_Link_Color=#0000ff 3044 isthe blue color used by the web page links and it is LINK=“#0000ff” 3056.

There are three more settings and they are used for other purposes thanchanging the pages default colors. They are used to change text part ofthe web page created by the web server. Title_Font_Color=#ffff00 3046 iscolor=“#ffff00” 3058 at the <FONT> tag and it is the color yellow.Title_Font_Size=3 3048 is SIZE=“3” 3060 and Title_Font_Face=“Verdana,Arial” 3050 is FACE=“Verdana, Arial” 3062. The last three settings willmake “THIS IS A PAGE TITLE” 3064 in yellow, with the font size of “3”and “Verdana” or “Arial” for the font type.

It is now clear that all that is needed for changing a web page templateis to upload a file with settings with different settings and the webpage will change its look accordingly. This method will allow a singletemplate to be remotely programmed and have more than one look withoutchanging the template or its content.

Functions necessary to read the file with settings, separate and placeits settings in a memory array is not shown and is done as is for sakeof simplicity. Also, the file with settings has just a few settingsvalues, there can be any number and be used differently for the purposeof changing the interface appearance.

V) Satellite E-Malls

A satellite e-mall is very similar to an e-mall, except it is a loosenone by making. It has one or more e-services, also, there can have manysatellite e-malls and each offering all kind of e-services and makingthem available to any e-mall or e-shop in the VNRI. It is up to ane-mall to include or exclude a satellite e-mall.

Once an e-mall includes one, the e-mall inherits its e-services and itsbehaviors as well. An e-mall with a satellite e-mall will be able topresent the satellite e-mall's e-services along with its e-shopsproducts and most of the cases it will be specialized e-services. Forexample: an e-mall includes a satellite e-mall that is specialized incar sales. Every time users access the e-mall and the satellite e-mall'se-service that is part of it. The e-mall e-commerce part may onlydisplay products that are related to cars in general.

Also, the e-service from a satellite e-mall has guiding means forguiding the e-mall in the displaying of its products along with thee-service. The guiding means may be an encoded information in a hiddenfield of a form or it may be words within the e-service page.

There are other means for presenting e-services to a satellite e-mall aswell. And it is using e-services located in a different server than aserver within the VNRI. The server will make its e-services available toVNRI and VNRI will make them available to a satellite e-mall. E-malls atVNRI are able to incorporate the satellite e-mall and its e-services byincorporating the satellite e-mall containing them.

As we've mentioned before, HTML is displayed on a computer screen asobjects. Each e-service is one or more object and they can be text,image, form, links etc., and at least one object in the page will haveat least one encoded information and the encoded information will be theguiding means for guiding the server to include at least one otherobject in the page and transmit it to a client.

As it has been presented so far. The virtual network has e-malls ande-malls has e-shops and web sites. Also, as we'll see, the virtualnetwork has means for creating and maintaining satellite e-malls andmake them available to all e-malls in the virtual network (pre-setsatellite e-malls). Also, the same means for creating and maintainingsatellite e-malls is available for each e-mall in the network(customized e-mall).

Satellite e-malls at the virtual network are specialized and e-malls usethem as is and will not be able to make changes to them. On the otherhand, a satellite e-mall created by the e-mall is customized and can bechanged at will by the e-mall that created it.

A satellite e-mall is an e-mall where e-services and e-commerce can beoffered simultaneously at the same web page and e-services will enhancethe e-commerce counterpart. If a user at a web browser is viewing asatellite e-mall web page and he/she selects a link, drop down list orany other means at the e-service side. The e-commerce part will changeas well to reflect the e-services.

E-services offered by a satellite e-mall can be of any kind: Auction,Car Sales, Realty, etc. Also, it can be of any kind of specialized website: Sports, News, Weather etc.

The virtual network will have many e-services available to e-malls,satellite e-malls, e-shops, e-distributors and web sites. And any willbe able to select and include web pages of e-services provided for bythe virtual network. Each of these e-services web pages will be alreadytranslated into the foreign languages that are supported by the virtualnetwork. These e-services web pages will permit customization processwithout having e-services of their own.

The e-commerce and the e-services may or may not reside at the samelocation. They can be at a single or multiple URL addresses, folders,databases or database tables.

Let us explore this concept a little further. Let us say that that ane-mall has some e-shops selling sporting goods, some others selling carsaccessories and still others selling music CD's (let us call it: e-mallA). Now let us say that a satellite e-mall in the virtual network isspecialized in offering car services (let us call it: satellite e-mallCar Sales). Besides its specialization in car services, this satellitee-mall will have departments related to cars, for instance, a departmentfor car accessories.

Now, if the e-mall A includes the satellite e-mall Car Sales into itsarchitecture. Every time a user access the satellite e-mall Car Saleshe/she will be able to view all information about cars and also view allcar accessories products from the e-mall A along with car accessoriesproducts from distributors/manufacturers.

The idea is to allow e-commerce and e-services to be displayed on asingle web page although they come from two different locations. In theabove example, the e-commerce comes from e-mall A and the e-servicescomes from the satellite e-mall Car Sales that is part of the virtualnetwork and available to all e-malls in the virtual network system. Thesatellite e-mall will allow an e-mall to offer more specialized servicesthan it could otherwise.

Now is time for us to delve a little further and discuss how thesatellite e-mall will enhance the shopping experience in an e-mall.

FIG. 31 shows this arrangement, the virtual network 3100 has threesatellite e-malls 3102, 3104 and 3106 and each of this satellite e-mallshaving distinct services. The satellite e-mall A 3102 specializes in CarSales, satellite e-mall B 3104 specializes in Auction and satellitee-mall C 3106 specializes in Sports. Also, there are two e-malls: e-mallA 3108 and e-mall B 3112. Now each one will have more services andproducts for selling besides the ones that are available within theirrespective e-shops.

E-mall A 3108 now has Car Sales 3102 and Auction 3104. When a user viewsan Auction for a specific product (e-services) the drop down tree at theweb page on the left (e-commerce) will be set accordingly to show theuser that a similar product is also available in an e-store within thee-mall. The same is true for e-mall B 3112. It has a satellite e-mall B3104 (Auction) and satellite e-mall C 3106 (Sports). Now e-mall B 3112will have Auction and also sell Sports related products from its e-shopsalong with Sports related products from e-distributors/e-manufacturers.

Since the virtual network will host a variety of e-malls and they inturn will host a variety of e-shops. Any e-mall with a satellite e-mallAuction will offer to their e-shops means for placing their products inthe auction and it will be available to every e-mall hosting thesatellite e-mall Auction.

If we look just bellow e-mall A 3108 and e-mall B 3112, we'll see thateach e-mall has a customized satellite e-mall. Customized satellitee-mall A 3110 for e-mall A 3108 and customized satellite e-mall B 3114for e-mall B 3112.

The customized satellite e-mall is different than a satellite e-mallsupplied by the virtual network. The e-mall creates and maintains acustomized satellite e-mall and supplies its e-services or select onefrom the virtual network, also, selects departments for it's e-commerce.A customized satellite e-mall is unique to each e-mall while thesatellite e-mall supplied by the virtual network is the same for anye-mall that offers its services.

FIG. 31 a and FIG. 31 b are further overview of how e-services can beincorporated into a satellite e-mall through VRNI. E-services (contents)are received from third parties (servers) by the VNRI and made availableto satellite e-malls as if the each e-services had been provided by theVNRI. Each e-service displayed on a client computer screen is one ormore objects and they can be image, text, form, etc.

FIG. 31 a shows e-services provided by third parties 3140 to VRNI 3142.As shown, Satellite e-mall A 3144 and Satellite e-mall B 3146 arereceiving e-services available at VNRI 3142, although they are locatedat the third party web site 3140. Now that satellite e-malls have thesee-services and after an e-mall incorporates any satellite e-mall, alle-services that are part of the satellite e-mall become part of thee-mall.

FIG. 31 b shows another method of making e-services available tosatellite e-malls. As shown, there are three e-services: E-service A3160, E-service B 3162 and E-service C 3164 and all three are madeavailable to VNRI 3166. Now VNRI 3166 will make all three e-servicesavailable to satellite e-malls. Satellite e-mall A 3168 has E-service A,E-service B, E-service C and contents from the VNRI (3170). Satellitee-mall B 3172 has E-service A and E-service B (3174). As it has beenpreviously explained, once an e-mall incorporates either satellitee-mall A or satellite e-mall B, their e-services along with VNRI'scontents (if any) will be part of the incorporating e-mal.

Once an e-service is displayed on a client computer it will be one ormore objects and having means for its association with the VNRI'se-commerce or other e-services. Also, these e-services can be madeavailable directly to a server through the VNRI infrastructure insteadof being incorporated in a satellite e-mall or be displayed directly toa client computer without the user of a sever. In the latter case, thee-services displayed at the client will be fetched from the VNRI.Furthermore, e-services/contents can be retrieved from different serverby another server (secondary server) and this secondary server will makeany or all of these e-services available to one or more servers(tertiary servers) and each of the tertiary server will make thesee-services available to a client.

FIG. 32 shows what we've discussed so far. On the left part of the webpage 3220 is where the e-commerce part will be displayed and on theright part 3222 is for the e-services.

FIG. 33 shows a further embodiment of FIG. 32. On the left links 3320has a tree drop down menu with Shoes and Apparel for the departments.The department Shoes has Women as category and the category Women hasTennis as a sub-category. On the right window 3322 (satellite e-mallactivity window) has three drops downs: department 3328, category 3330and sub-category 3332. At the top of each drop down there is the userchoice for it. Shoes for department 3328, Women for category 3330 andTennis for sub-category 3332. We're showing drop downs as means for thecommunication between the e-services 3322 and the commerce 3320.

Other means can be used as well, like, hidden form elements withdepartment, category and sub-category codes encoded in them. Also,embedded information with key words at the e-service web page, or even,the use of the information at the web page as indexing key words thatthe server will use to search the e-mall's database and provide a listthat match the words in the e-service web page.

In the case of customized e-services. It can have embedded informationpertaining to the e-mall supplying the customized e-service, and,whenever the e-service is used virtually by another e-mall, satellitee-mall or web sited in the virtual network. Also, products from e-storesof the e-mall that is supplying the e-service will be availablevirtually at each one based on the embedded information at thee-service's web page.

FIG. 34 is a further embodiment of FIG. 33. It shows a list of productsdisplayed on the right window 3322 that is the user's selection (Tennis3321) from the left window 3320. There are two products with respectiveimages, titles with links and a check box. Tennis as the selectedsub-category 3321 has product Tennis Shoe ABC (image 3444, title with alink 3442 and a check box 3440) and Tennis Shoe XYZ (image 3434, titlewith a link 3436 and a check box 3438). Also, a button 3446 is presenton right window 3322 for the purpose of placing selected items in ashopping cart. In our example both items will be placed in the shoppingcart, since they are both checked (check box 3440 and check box 3438).

VI) Surf User List

As we've seen so far, the virtual network comprising of e-malls,satellite e-malls, e-shops, e-distributors/e-manufacturers and websites. Also, an e-shop from one e-mall can sell virtually in anothere-mall. As we see, a web browser user accessing an e-mall in the virtualnetwork will come across web pages from different e-shops dynamicallylocated at the e-mall, web pages from virtual e-shops (e-shopsdynamically located at a different e-mall) and also frome-distributors/e-manufacturers.

Lets say that the web browser user later return to the e-mall and wantto find a product that he/she saw on a previous visit. Lets also saythat the product was from a virtual e-shop and it is no longer availablevirtually at the e-mall. The user will think that the item is no longeravailable because the e-shop is no longer virtually located at thee-mall. From this scenario it is clear that there is a need for amechanism to track and keep the user surfing experience.

Each page of information supplied to each client have a surf codereference and it is used for automatically storing a reference for eachinformation supplied to each client and it forms the surf user-list.Once the user requests his/her surf user-list, the server will use eachsurf code reference and create the surf user-list and sent it to theuser. A surf user-list will only include information that was previouslyviewed by the user.

Also, an end-user at a client with a login means and after logging onthe server, he/she will be able to request the server to save his/hersurf user-list for later review. The server will save the surf user-listbased on the end-user ID that is part of the login information in theserver.

FIG. 35 shows the communication that takes place between a web serverand a web browser, when the web browser accesses the web server for thefirst time. The web browser 3552 initiates communication 3553 with theweb server 3554. The web server 3554 generates a tracking number 3560and send it 3556 to the web browser 3552, now the web browser 3552 willstore it in a cookie 3566. This process will allow the web server 3554to keep track of the web browser that is accessing it. We're showing theASP technology but it can be implemented by other technologies as well.

FIG. 36 shows a web browser 3552 accessing web pages from: e-malls,e-stores and web sites. Web browser 3552 fetches web pages from each oneof them. From e-shop A 3672 end-user at the web browser 3552—viewproducts 123 and 456 (3674). From e-shop B 3676 will view product 789(3678). From e-mall A 3680—view product 145 (3682). From e-mall B3684—view products 100 and 102 (3686) and from web site 3688 views webpages News and Weather (3690).

FIG. 37 shows the process that takes place at each request. The webbrowser 3552 sends a request 3702 to the web server 3554, the web server3554 send a request for cookie called user_tracking_code 3722 to the webbrowser 3552. Now the web browser 3552 will retrieve the value “0123656”from the cookie user_tracking_code 3566 and send it 3706 to the server3554. The web server 3554 will first save the requested web page or theproduct page's code in the session variable user_tracking_code 3560 andsecond it will fetch the web page or the product's page 3726 and sent it3728 to the web browser 3552.

FIG. 38 shows the process that takes place once a user at the webbrowser 3552 requests to view his/her surf list 3560. The web browser3552 sends a request 3810 to the web server 3554. The web server 3554will send a request 3812 to the web browser 3552 for the value of thecookie user_tracking_code 3566 and the web browser 3552 will fetch thevalue “0123656” from it and send 3814 to the web server 3554. The webserver 3554 will fetch the values that are stored in the sessionvariable user_tracking_code 3560. Next, the web server 3554 uses thelist just retrieved from the session variable 3560 and searches thedatabase 3832. And finally, it will fetch web pages and/or product'spage that correspond to the values in the session variable 3560 and sentthe page to the web browser 3552 through connection 3816.

FIG. 39 shows a web page with links on the left 3950 and they are linksfor the user surf list. They are the same ones that are stored in thesession variable user_tracking_code 3560 (FIG. 38). On the right 3952 wesee a page that the user has just selected from his/her surfing list3950. And the selection was 123 (3951) and its contents are nowdisplayed on the right 3952 and they are the item's image 3958, theitem's title and description 3956 and also a button 3954 to place it ina shopping cart. Once again, a very basic web page was shown for sake ofsimplicity.

We've shown values stored in a session variable user_tracking_code 3560(FIG. 38). It can be stored in a database as well for the purposed oftracking and recording the user activity and always have his/her surflist available.

VII) Customized Web Sites

Besides the user surfing tracking system, the virtual network will alsohave means for customizing web sites to each user. Once a user isregistered, personal information and personal preferences will be usedas to allow the virtual network to customize web sites to each user asto reflect the user's preferences and also the user's location.

There will be a plurality of information about a specific subject matterand upon a user access the server it will customize a web site. Acustomized web site will allow a server means for presenting differentinformation about the same subject matter tailored uniquely to each userbased on each user's pre-set information store in the server.

A user furnishes information to a server and once the same user returnsto the server and log in, the server will only supply information to theuser that is relevant to the user and based on the user pre-setinformation that is stored in the server.

Let's say that user has Soccer and Football for sports preferences andthe local of residency is San Francisco, Calif., USA. Another oneresiding in Salvador, Bahia, Brazil has Soccer and Basketball for sportspreferences. Now, both users will access the same web site at the sametime and view sports. The user residing in San Francisco, Calif., USAwill view information for Soccer and Football for leagues from SanFrancisco, Calif. and USA, while the second user will view sportsinformation for leagues from Salvador, Bahia and Brazil.

The same method can be used to set user previous visited web pages orproducts page. For instance, a user visits a product page about fishing.Next time he/she come to any web site within VNRI with e-services,fishing related information will be part of the web site along withfishing products (e-commerce part).

It is to be understood that all e-commerce (goods/products) ande-services (articles/services) within the virtual network are availableto all e-malls, satellite e-malls, e-shops, e-distributors and web sitesvirtually. Also, means will be available as to allow each e-mall to makeits customized e-service(s) available to others e-malls, satellitee-malls, e-shops, e-distributors and web sites at the virtual network.

Many more arrangements can be created and incorporated in thisinvention. While it has been fully described in connection with theillustrated embodiments, it will be appreciated and understood thatmodifications may be made without departing from the true spirit andscope of the invention. We've used the term e-malls and e-shops allalong but instead of e-mall, it can be called e-portal and instead ofe-shops, it can be a combination of e-shops and e-services. Furthermore,this invention will allow the creation of a worldwide virtualenvironment.

1. A method of providing a plurality of contents to a user of a clientcomputer system, the method comprising the steps of: providing a servercomputer; retrieving the third-party-supplied content comprising firstobjects describing a product or service, wherein retrieving is from athird-party-hosting server, said retrieving is performed by the servercomputer; hosting on the server computer said third-party-suppliedcontent, said hosting comprises reading said third-party suppliedcontent and making said third-party supplied content available foraccess by the user; transmitting a web page for display on the clientcomputer system in response to a request from the client computersystem, the web page comprising the third-party-supplied content;selecting guiding means from said third-party-supplied content for usein identifying related second content; identifying the related secondcontent using the guiding means, wherein the related second contentcomprises an object that is related to an object within the firstobjects of the third-party-supplied content; including the secondcontent in the web page to form a second web page, said including isperformed by the server computer; and sending the second web page to theclient computer system for display on the client computer system withthe web page previously transmitted.
 2. The method according to claim 1wherein the third-party-supplied content is selected from a groupconsisting of text; audio; video; an image; a form; and a link.
 3. Themethod according to claim 1 wherein the third-party-supplied content isin a category selected from a group consisting of: auction; car sales;realty; sports; news; weather; personal information; personalpreferences; user's preferences; user's location; user's pre-setinformation; user previously visited web page; login information; anduser previously viewed products page.
 4. The method according to claim 1wherein the first object is selected from a group consisting of:matching words in the third-party-supplied content and the secondobject; presence of a common embedded information in thethird-party-supplied content and the second object; presence of a commonencoded information in the third-party-supplied content and the secondcontent object; and presence of information that matches withinformation that was previously viewed by the user.
 5. The methodaccording to claim 1 wherein the third-party-supplied content and thesecond object reside at the same location.
 6. The method according toclaim 1 wherein the third-party-supplied content and the second objectare at locations selected from a group consisting of a URL address, afolder, a database and a database table.
 7. The method according toclaim 1 further comprising the step of indexing the third-party-suppliedcontent for later retrieval.
 8. The method according to claim 1 furthercomprising the step of storing the third-party-supplied content forlater retrieval.